Diameter is a signaling protocol used extensively in core networks to carry subscriber and policy information among core network elements. One feature of Diameter is that Diameter connections between Diameter network elements, once established, may remain in service for long periods of time, such as weeks, months, or years. Once a connection is established, the message traffic sent over the connection can vary greatly over time. Accordingly, if the processing of Diameter message traffic is initially divided based on connections, this variation in traffic over a given connection can cause an imbalanced load among Diameter processing resources.
For example, in one Diameter message processing architecture, the message processors that perform Diameter connection layer processing also perform Diameter routing and/or application layer processing. Because the message processors each perform connection, routing, and/or application processing, all of the message processing for a given connection is performed by the same processor. As a result, if one connection assigned to one processor experiences a spike in traffic, that processor may become overburdened as compared to another processor whose assigned connections do not experience a spike in message traffic. However, because the connections are tied to the same processors that perform the routing and/or application processing for the messages, there is no ability to load balance the processing of the messages between the processors without tearing down and re-establishing the Diameter connections on different processors.
Requiring the tear down and re-establishment of Diameter connections to perform load balancing is undesirable as it results in unnecessary overhead on connection endpoints in tearing down and re-establishing the connections. In addition, once the connections are re-established to more evenly balance the load, any subsequent load imbalance on the newly assigned processors will require that the tearing down and re-establishing of the Diameter connections be repeated.
Accordingly, there exists a need for methods, systems, and computer readable media for balancing Diameter message traffic received over long lived Diameter connections.